Wir schauen uns nun die Aufgabenstellung als ER-Diagramm an. Zunächst beginnen wir mit der Modellierung einzelner Bestandteile unseres Systems und betrachten als erstes die Entitäten Rechnung, Rechnungsstatus und Zahlungsart. Jede Rechnung gehört immer genau einem Kunden, während ein Kunde mehrere Rechnungen erhalten kann. Wir haben hier also eine klassische Eins-zu-viele-Beziehung. Jede Rechnung besitzt eine eindeutige Rechnungsnummer, ein Ausstellungsdatum, einen Rechnungsstatus und, sofern sie bezahlt wurde, eine Zahlungsart. Die Zahlungsart ist als Aufzählung umgesetzt und bietet eine feste Auswahl an Werten wie bar, EC, Visa, Master oder PayPal. Im ER-Diagramm finden wir oben links die Entität „Rechnung“ mit der Rechnungsnummer als Primärschlüssel und dem Attribut „Datum“. Von hier aus gehen mehrere Beziehungen ab: Mehrere Rechnungen können jeweils genau einem Kunden zugeordnet werden. Jede Rechnung hat genau einen Rechnungsstatus und verwendet genau eine Zahlungsart, wenn sie bezahlt wurde. Diese Struktur bildet den ersten zentralen Bestandteil unseres Datenmodells und die Grundlage für alle weiteren Elemente. Im nächsten Schritt betrachten wir die Entität „Kunde“ und die damit verbundene Bezahlmethode. Jeder Kunde besitzt eine eindeutige Kundennummer und eine postalische Anschrift. Optional kann ein Kunde zusätzlich Kreditkarteninformationen hinterlegen, die aus Sicherheitsgründen separat gespeichert werden. Jede Kreditkarteninformation ist eindeutig einem Kunden zugeordnet und enthält den Typ der Kreditkarte (Visa oder Mastercard), die vollständige Kreditkartennummer sowie den Gültigkeitsmonat und das Gültigkeitsjahr. Im ER-Diagramm sehen wir die Entität „Kunde“ mit der Kundennummer als Primärschlüssel. Sie ist genau mit einer Adresse verbunden. Optional existiert eine Beziehung zu Kreditkarteninformationen. Diese Entität besitzt einen eigenen Primärschlüssel, speichert zusätzlich die Kundennummer, Kreditkartennummer, Gültigkeitsdaten und verweist auf genau eine Zahlungsart. Durch diese klare Trennung sorgen wir für sichere und nachvollziehbare Zahlungsabwicklungen. Nun betrachten wir die Entität „Kunde“ genauer und gehen auf Spezialisierungen ein, die im Datenmodell vorgesehen sind. Ein Geschäftskunde ist ein spezieller Kundentyp, der neben allgemeinen Kundenattributen einen Firmennamen und eine Steueridentifikationsnummer besitzt. Ein VIP-Kunde wiederum ist ein besonderer Geschäftskunde, der zusätzlich einen festen Rabatt in Prozent erhält, der dauerhaft bei jeder Rechnung berücksichtigt wird. Der Privatkunde bildet eine weitere Spezialisierung des allgemeinen Kunden und besitzt statt Firmenname und Steuer-ID den Vornamen und Nachnamen. Im ER-Diagramm zeigt sich, dass von der allgemeinen Entität „Kunde“ zwei Unterklassen spezialisieren: „Privatkunde“ mit ID, Vorname und Nachname sowie „Geschäftskunde“ mit ID, Firmenname und Steuer-ID. Der Geschäftskunde unterteilt sich weiter in den „VIP-Kunden“, der zusätzlich zur ID einen prozentualen Rabatt enthält. Durch diese hierarchische Spezialisierung unterscheiden wir flexibel Kundentypen und vermeiden Redundanz. Aus Sicht der Objektorientierung handelt es sich hierbei um eine Vererbungshierarchie. Eine Unterklasse kann ohne ihre Oberklasse nicht existieren, weshalb diese Unterklassen im ER-Diagramm als schwache Entitäten dargestellt werden. Als nächstes befassen wir uns mit der Entität „Rechnungsposition“. Jede Rechnung enthält mindestens eine, meist jedoch mehrere Rechnungspositionen. Umgekehrt gehört jede Rechnungsposition genau zu einer Rechnung und kann nicht isoliert existieren. Eine Rechnungsposition enthält die Rechnungsnummer sowie eine laufende Nummer, die innerhalb einer Rechnung bei eins beginnt und aufsteigend fortgeführt wird. Zusätzlich ist jede Rechnungsposition einem Produkt zugeordnet, das in mehreren Rechnungspositionen auftauchen kann. Wir erfassen außerdem die Menge des bestellten Produkts sowie den Einzelpreis in Euro. Da die Rechnungsposition nicht unabhängig von der Rechnung existieren kann, entspricht dies einer Komposition in der objektorientierten Modellierung. Daher wird die Rechnungsposition im ER-Diagramm ebenfalls als schwache Entität modelliert. Im ER-Diagramm sehen wir erneut die Entität „Rechnung“ mit der Rechnungsnummer als Primärschlüssel. Sie besitzt eine Eins-zu-viele-Beziehung zur Rechnungsposition, die direkt abhängig von der Rechnung ist. Zusätzlich verweist jede Rechnungsposition genau auf ein Produkt. Die Entität „Produkt“ hat die Produktnummer als Primärschlüssel sowie Attribute wie Name, Beschreibung, Standardpreis und Lagerbestand. Produkte werden wiederum von Lieferanten geliefert, was einer Viele-zu-viele-Beziehung entspricht. So kann ein Produkt von mehreren Lieferanten bezogen werden und ein Lieferant mehrere Produkte liefern. Wir betrachten nun genauer die Entität „Lieferant“ sowie den damit verbundenen Produktrabatt. Ein Lieferant liefert mehrere unterschiedliche Produkte, ein Produkt wiederum kann von verschiedenen Lieferanten bezogen werden. Jeder Lieferant hat eine eindeutige ID, einen Namen und eine Adresse. Zudem kann ein Lieferant Mengenrabatte für bestimmte Produkte gewähren. Im ER-Diagramm besitzt die Entität „Lieferant“ die ID als Primärschlüssel und das Attribut „Name“. Von dort aus existiert eine Eins-zu-viele-Beziehung zur Entität „Produktrabatt“. Ein Lieferant kann also mehrere Rabatte festlegen, welche ab einer bestimmten Menge gültig sind und einen prozentualen Rabatt enthalten. Diese Rabatt-Entität verbindet sich wiederum über eine Viele-zu-eins-Beziehung mit der Entität „Produkt“. Zusätzlich steht der Lieferant in einer Eins-zu-eins-Beziehung zur Entität „Adresse“. Diese Entität besitzt eine eigene ID als Primärschlüssel und speichert Straße, Hausnummer, Postleitzahl und Ort. Durch diese Trennung von Lieferanteninformationen und Adressdaten vermeiden wir Redundanzen und sorgen für ein klar strukturiertes Datenmodell. Abschließend betrachten wir das vollständige ER-Modell. Ihre Aufgabe ist es nun, alle behandelten Teilmodelle sinnvoll zusammenzuführen und in einer konsistenten Gesamtübersicht darzustellen. Diese Übung dient sowohl der Vorbereitung auf Tests als auch auf die Klausur. Ziel ist es, das gesamte ER-Modell so zu gestalten, dass alle Entitäten, Beziehungen und Attribute übersichtlich auf einer DIN-A4-Seite dargestellt werden können. Dabei sollen alle Kardinalitäten korrekt angegeben und Spezialisierungen nachvollziehbar eingeordnet sein. Die Herausforderung liegt nicht nur im Verständnis der Inhalte, sondern auch in ihrer sauberen Visualisierung. Wer diese Aufgabe vollständig löst, erhält einen hervorragenden Überblick über das Modell und ist bestens für die Prüfung vorbereitet.